#pragma once
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <deque>
#include <algorithm>
#include <functional>
#include <numeric>
#include <fstream>
#include "speaker.h"
using namespace std;

// 设计演讲管理类
class SpeechManager
{
public:
    SpeechManager();

    // 展示菜单
    void showMenu();
    
    // 退出系统
    void exitSystem();

    // 初始化属性
    void initSpeech();

    // 创建12名选手
    void createSpeaker();

    // 比赛
    void startSpeech();

    // 抽签
    void speechDraw();

    // 比赛
    void speechContest();

    // 显示比赛成绩
    void showScore();

    // 保存分数
    void saveRecord();

    // 读取记录
    void loadRecord();

    // 显示往届记录
    void showRecord();

    // 清空文件
    void clearRecord();

    ~SpeechManager();

    vector<int>v1;  // 比赛选手：12人
    vector<int>v2;  // 比赛选手：6人
    vector<int>v3;  // 比赛选手：前三名

    map<int, Speaker>speaker;  // 存放编号以及对应选手

    map<int, vector<string>> record; // 往届记录

    int index; // 记录比赛轮数
    bool fileIsEmpty;  // 文件为空标志

};
